package com.yuheadline.model.user.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;

/**
 * 性别
 * <ul>
 *     <li>0：未知</li>
 *     <li>1：男</li>
 *     <li>2：女</li>
 * </ul>
 *
 * @author 高翔宇
 * @since 2024/4/30 周二 下午9:19
 */
@Getter
public enum Sex {
    /**
     * 未知
     */
    UNKNOWN(0, "未知"),
    /**
     * 男
     */
    MAN(1, "男"),
    /**
     * 女
     */
    WOMAN(2, "女");

    @EnumValue
    @JsonValue
    private final Integer code;
    private final String desc;

    Sex(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public static Sex of(Integer code) {
        for (Sex sex : values()) {
            if (sex.code.equals(code)) {
                return sex;
            }
        }
        return UNKNOWN;
    }
}
